package com.unhz.taigu.service;

import java.util.List;
import com.unhz.generator.pojo.Insole;
import com.unhz.generator.pojo.Order;
import com.unhz.generator.utils.Page;
import com.unhz.generator.utils.PageSize;
import com.unhz.generator.vo.InsoleVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * @Author: 魏运奇
 * @Description: 中底
 * @Date: Created in 上午 11:09 2018/1/29 0029
 * @Modified By: V1.0.0
 */
public interface InsoleService {

      /**
       * 查询中底列表
       * @param pageNo  页数
       * @param pageSize  每页大小
       * @param keywords  关键字
       * @return
       */
      Page<Insole> selectInsoleList(String  pageNo, Integer  pageSize,String  keywords,Integer roleId);


      /**
       *通过主键查询中底信息
       * @param id 中底id
       * @return
       */

      Insole selectById(Integer id);

      /**
       *通过id查询中底图片
       * @param id 中底id
       * @return
       */
      String[] selectImageById(Integer id);

      /**
       *通过id删除中底信息（逻辑删除）
       * @param id 中底id
       * @return
       */
      boolean deleteById(Integer id);

      /**
       * 修改中底信息
       * @param insole 中底对象
       */
      void insoleUpdate(Insole insole);

      List<Insole> selectAllInsoles();

      /**
       * 改变中底状态 ：禁用或者启用
       * @param insoleId 中底id
       * @param isenable 状态
       */
      String changsStatus(Integer insoleId, Integer isenable,String adminName);

      /**
       * 查询鞋子类型(男鞋、女鞋、童鞋)
       * @param insoleId
       * @return
       */
      Insole selectShoes(Integer insoleId);

      /**
       * 录入中底样品信息
       * @param insole
       * @return
       */
      int inserInsole(Insole insole);

      /**
       * 查询中底某个记录
       * @param insoleId
       * @return
       */
      public Insole selectByPrimaryKey(Integer insoleId);

      /**
       * 改变中底审核状态 ：通过或者不通过
       * @param insoleId
       * @param examine
       * @param adminName
       * @return
       */
      String changeCheckStatus(Integer insoleId, Integer examine, String adminName);

      /**
       * 根据中底型号查询中底信息
       * @param model
       * @return
       */
      Insole selectInsoleByModel(String model);

      /**
       * 添加中底
       * @param insole
       * @param insoleImgs
       * @param unfoldImgs
       * @param reports
       * @return
       */
    String addInsole(Insole insole, MultipartFile[] insoleImgs, MultipartFile[] unfoldImgs, MultipartFile[] reports);

      /**
       * 一键审核通过
       * @return
       */
     void keyPass(Insole insole);

      /**
       * 修改中底页
       * @param insole
       * @return
       */
     String updateInsole(Insole insole,String adminName, MultipartFile[] insoleImgs, MultipartFile[] unfoldImgs, MultipartFile[] reports);

      /**
       * 根据样品中底id查询详情
       * @param insoleId
       * @return
       */
     InsoleVo selectOneInsoleByInsoleId(Integer insoleId);
}
